package cn.com.git.workflow.dao.model;

import java.io.Serializable;

public class WorkFlowConfig implements Serializable {
    private Integer id;

    /**
     * 流程类型
     *
     * @mbggenerated
     */
    private String flowType;

    /**
     * 流程名称
     *
     * @mbggenerated
     */
    private String flowName;

    /**
     * 当前节点
     *
     * @mbggenerated
     */
    private String currentNode;

    /**
     * 当前节点类型
     *
     * @mbggenerated
     */
    private String currentNodeType;

    /**
     * 当前节点名称
     *
     * @mbggenerated
     */
    private String currentNodeName;

    /**
     * 下一节点
     *
     * @mbggenerated
     */
    private String nextNode;

    /**
     * 下一节点类型
     *
     * @mbggenerated
     */
    private String nextNodeType;

    /**
     * 下一节点名称
     *
     * @mbggenerated
     */
    private String nextNodeName;

    /**
     * 按钮英文名称
     *
     * @mbggenerated
     */
    private String btnEngName;

    /**
     * 按钮中文名称
     *
     * @mbggenerated
     */
    private String btnChnName;

    /**
     * 操作类型
     *
     * @mbggenerated
     */
    private String operateType;

    /**
     * 分组id
     *
     * @mbggenerated
     */
    private Integer groupId;

    private static final long serialVersionUID = 1L;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getFlowType() {
        return flowType;
    }

    public void setFlowType(String flowType) {
        this.flowType = flowType;
    }

    public String getFlowName() {
        return flowName;
    }

    public void setFlowName(String flowName) {
        this.flowName = flowName;
    }

    public String getCurrentNode() {
        return currentNode;
    }

    public void setCurrentNode(String currentNode) {
        this.currentNode = currentNode;
    }

    public String getCurrentNodeType() {
        return currentNodeType;
    }

    public void setCurrentNodeType(String currentNodeType) {
        this.currentNodeType = currentNodeType;
    }

    public String getCurrentNodeName() {
        return currentNodeName;
    }

    public void setCurrentNodeName(String currentNodeName) {
        this.currentNodeName = currentNodeName;
    }

    public String getNextNode() {
        return nextNode;
    }

    public void setNextNode(String nextNode) {
        this.nextNode = nextNode;
    }

    public String getNextNodeType() {
        return nextNodeType;
    }

    public void setNextNodeType(String nextNodeType) {
        this.nextNodeType = nextNodeType;
    }

    public String getNextNodeName() {
        return nextNodeName;
    }

    public void setNextNodeName(String nextNodeName) {
        this.nextNodeName = nextNodeName;
    }

    public String getBtnEngName() {
        return btnEngName;
    }

    public void setBtnEngName(String btnEngName) {
        this.btnEngName = btnEngName;
    }

    public String getBtnChnName() {
        return btnChnName;
    }

    public void setBtnChnName(String btnChnName) {
        this.btnChnName = btnChnName;
    }

    public String getOperateType() {
        return operateType;
    }

    public void setOperateType(String operateType) {
        this.operateType = operateType;
    }

    public Integer getGroupId() {
        return groupId;
    }

    public void setGroupId(Integer groupId) {
        this.groupId = groupId;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", flowType=").append(flowType);
        sb.append(", flowName=").append(flowName);
        sb.append(", currentNode=").append(currentNode);
        sb.append(", currentNodeType=").append(currentNodeType);
        sb.append(", currentNodeName=").append(currentNodeName);
        sb.append(", nextNode=").append(nextNode);
        sb.append(", nextNodeType=").append(nextNodeType);
        sb.append(", nextNodeName=").append(nextNodeName);
        sb.append(", btnEngName=").append(btnEngName);
        sb.append(", btnChnName=").append(btnChnName);
        sb.append(", operateType=").append(operateType);
        sb.append(", groupId=").append(groupId);
        sb.append("]");
        return sb.toString();
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        WorkFlowConfig other = (WorkFlowConfig) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getFlowType() == null ? other.getFlowType() == null : this.getFlowType().equals(other.getFlowType()))
            && (this.getFlowName() == null ? other.getFlowName() == null : this.getFlowName().equals(other.getFlowName()))
            && (this.getCurrentNode() == null ? other.getCurrentNode() == null : this.getCurrentNode().equals(other.getCurrentNode()))
            && (this.getCurrentNodeType() == null ? other.getCurrentNodeType() == null : this.getCurrentNodeType().equals(other.getCurrentNodeType()))
            && (this.getCurrentNodeName() == null ? other.getCurrentNodeName() == null : this.getCurrentNodeName().equals(other.getCurrentNodeName()))
            && (this.getNextNode() == null ? other.getNextNode() == null : this.getNextNode().equals(other.getNextNode()))
            && (this.getNextNodeType() == null ? other.getNextNodeType() == null : this.getNextNodeType().equals(other.getNextNodeType()))
            && (this.getNextNodeName() == null ? other.getNextNodeName() == null : this.getNextNodeName().equals(other.getNextNodeName()))
            && (this.getBtnEngName() == null ? other.getBtnEngName() == null : this.getBtnEngName().equals(other.getBtnEngName()))
            && (this.getBtnChnName() == null ? other.getBtnChnName() == null : this.getBtnChnName().equals(other.getBtnChnName()))
            && (this.getOperateType() == null ? other.getOperateType() == null : this.getOperateType().equals(other.getOperateType()))
            && (this.getGroupId() == null ? other.getGroupId() == null : this.getGroupId().equals(other.getGroupId()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getFlowType() == null) ? 0 : getFlowType().hashCode());
        result = prime * result + ((getFlowName() == null) ? 0 : getFlowName().hashCode());
        result = prime * result + ((getCurrentNode() == null) ? 0 : getCurrentNode().hashCode());
        result = prime * result + ((getCurrentNodeType() == null) ? 0 : getCurrentNodeType().hashCode());
        result = prime * result + ((getCurrentNodeName() == null) ? 0 : getCurrentNodeName().hashCode());
        result = prime * result + ((getNextNode() == null) ? 0 : getNextNode().hashCode());
        result = prime * result + ((getNextNodeType() == null) ? 0 : getNextNodeType().hashCode());
        result = prime * result + ((getNextNodeName() == null) ? 0 : getNextNodeName().hashCode());
        result = prime * result + ((getBtnEngName() == null) ? 0 : getBtnEngName().hashCode());
        result = prime * result + ((getBtnChnName() == null) ? 0 : getBtnChnName().hashCode());
        result = prime * result + ((getOperateType() == null) ? 0 : getOperateType().hashCode());
        result = prime * result + ((getGroupId() == null) ? 0 : getGroupId().hashCode());
        return result;
    }
}